﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XNATools.Services.Interfaces;
using XNATools.Managers;
using XNATools.Enums;

namespace XNATools.Events.EventArgs
{
    /// <summary>
    /// Class for holding MouseActionEventArgs
    /// </summary>
    public sealed class MouseActionEventArgs:System.EventArgs
    {
        #region Fields

        private MouseButton _Button = MouseButton.None;

        #endregion

        #region cTor(s)

        /// <summary>
        /// New MouseActionEventArgs
        /// </summary>
        internal MouseActionEventArgs()
        {}

        /// <summary>
        /// New MouseActionEventArgs
        /// </summary>
        internal MouseActionEventArgs(MouseButton button)
        {
            _Button = button;
        }

        #endregion

        #region Methods
        #endregion

        #region Properties

        /// <summary>
        /// Gets MouseService
        /// </summary>
        public IMouseService MouseService
        {
            get
            {
                return ServiceManager.Get<IMouseService>();
            }
        }

        /// <summary>
        /// Gets pressed mouse button
        /// </summary>
        public MouseButton Button
        {
            get
            {
                return _Button;
            }
        }

        #endregion
    }
}
